//********************************************************************************************************
// Product Name: MapWindow.dll Alpha
// Description:  Low level interfaces that allow separate components to use objects that are defined
//               in completely independant libraries so long as they satisfy the basic interface requirements.
//********************************************************************************************************
// The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License"); 
// you may not use this file except in compliance with the License. You may obtain a copy of the License at 
// http://www.mozilla.org/MPL/ 
//
// Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF 
// ANY KIND, either express or implied. See the License for the specificlanguage governing rights and 
// limitations under the License. 
//
// The Original Code is MapWindow.dll
//
// The Initial Developer of this Original Code is Ted Dunsford. Created in September, 2007.
// 
// Contributor(s): (Open source contributors should list themselves and their modifications here). 
//
//********************************************************************************************************
using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using MapWindow.Main.EventArguments;
namespace MapWindow.Drawing
{
    /// <summary>
    /// A class that specifically controls the drawing for Polygons
    /// </summary>
    public class PolygonSymbolizer : FeatureSymbolizer, IPolygonSymbolizer
    {
        #region Variables

        
        #endregion

        #region Constructors
        
        /// <summary>
        /// Constructor
        /// </summary>
        public PolygonSymbolizer(): base() { }

        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="defaultProvider">Default Drawing Properties that this Symbolizer should reference</param>
        public PolygonSymbolizer(IPolygonSymbolizer defaultProvider) : base(defaultProvider) {}


        #endregion

        #region Methods


        /// <summary>
        /// Copies all the point symbol properties from any valid implementation of IPointFeatureSymbology
        /// like a MapPoint or a MapPointLayer 
        /// </summary>
        /// <param name="copyFrom"></param>
        public void Copy(IPolygonSymbolizer copyFrom)
        {
            _BorderPen = copyFrom.BorderPen;
            BorderColor = copyFrom.BorderColor;
            BorderWidth = copyFrom.BorderWidth;
            if (copyFrom.BorderVisible == true)
            {
                _BorderVisible = TrueFalse.True;
            }
            else
            {
                _BorderVisible = TrueFalse.False;
            }

           
            _FillBrush = copyFrom.FillBrush;
            _FillColor = copyFrom.FillColor;
            
        }

       
        #endregion

    }
}
